/**
 *====================================================
 * 文件名称: LoanNoticeEntity.java
 * 修订记录：
 * No    日期				作者(操作:具体内容)
 * 1.    2015年9月23日			chenxy(创建:创建文件)
 *====================================================
 * 类描述：(说明未实现或其它不应生成javadoc的内容)
 */
package com.yuexunit.finance.project.entity;

import java.math.BigDecimal;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;

import com.yuexunit.finance.project.entity.lexicon.ApplicantLoanStateEnum;
import com.yuexunit.finance.project.entity.lexicon.BeneficiaryMethodEnum;

/**
 * @ClassName: LoanNoticeEntity
 * @Description: TODO(这里用一句话描述这个类的作用)
 * @author chenxy
 * @date 2015年9月23日 下午5:25:15
 */
@Entity
@Table(name = "FIN_LOAN_NOTICE")
public class LoanNoticeEntity {

	/** 放款通知书ID */
	@Id
	@GeneratedValue
	@Column(name = "LOAN_NOTICE_ID")
	private Long loanNoticeId;

	/** 融资信息ID */
	@Column(name = "FINANCE_ID")
	private Long financeId;
	
	/** 放款编号 */
	@Column(name = "LOAN_NOTICE_NUMBER")
	private String loanNoticeNumber;

	/** 融资信息编号 */
	@Column(name = "FINANCE_NUMBER")
	private String financeNumber;

	/** 融资企业ID */
	@Column(name = "ENTERPRISE_ID")
	private Long enterpriseId;

	/** 融资企业名称 */
	@Column(name = "ENTERPRISE_NAME")
	private String enterpriseName;

	/** 放款方式 */
	@Column(name = "LOAN_METHOD")
	private BeneficiaryMethodEnum loanMethod;

	/** 放款时间 */
	@Column(name = "LOAN_D8")
	private Integer loanDate;

	/** 放款金额 */
	@Column(name = "LOAN_AMOUNT")
	private BigDecimal loanAmount;
	
	/** 已放款金额 */
	@Column(name = "LOAN_AMOUNT_ALREADY")
	private BigDecimal loanAmountAlready;

	/** 放款银行 */
	@Column(name = "LOAN_BANK")
	private String loanBank;

	/** 放款卡号 */
	@Column(name = "LOAN_CREDIT_CARD")
	private String loanCreditCard;

	/** 放款流水号 */
	@Column(name = "LOAN_NUMBER")
	private String loanNumber;

	/** 收款银行 */
	@Column(name = "BENEFICIARY_BANK")
	private String beneficiaryBank;

	/** 收款人 */
	@Column(name = "BENEFICIARY_NAME")
	private String beneficiaryName;

	/** 收款银行卡号 */
	@Column(name = "BENEFICIARY_CREDIT_CARD")
	private String beneficiaryCreditCard;

	/** 附件材料 */
	@Column(name = "FILE_UUIDS")
	private String fileUuids;

	/** 操作人员ID */
	@Column(name = "OPERATOR_ID")
	private Long operatorId;

	/** 操作人员 */
	@Column(name = "OPERATOR")
	private String operator;

	/** 放款单状态 1:待审核/2:已审核 */
	@Column(name = "LOAN_STATE")
	private ApplicantLoanStateEnum loanState;

	/** 审核意见 */
	@Column(name = "AUDIT_REMARK")
	private String auditRemark;

	/** 审核人ID */
	@Column(name = "AUDITOR_ID")
	private Long auditorId;

	/** 审核人 */
	@Column(name = "AUDITOR")
	private String auditor;
	
	/** 申请人 */
	@Column(name = "APPLICANT")
	private String applicant;
	
	/** 申请部门 */
	@Column(name = "APPLY_DEPARTMENT")
	private String applyDepartment;
	
	/** 申请时间 */
	@Column(name = "APPLY_DT")
	private Date applyDate;
	
	/** 分管领导1审核 */
	@Column(name = "LEADER1_AUDIT")
	private String leader1Audit;
	
	/** 分管领导1审核状态*/
	@Column(name = "LEADER1_AUDIT_STATE")
	private Boolean leader1AuditState;
	
	/** 分管领导1审核提交状态*/
	@Column(name = "LEADER1_AUDIT_SUBMIT_STATE")
	private Boolean leader1AuditSubmitState;
	
	/** 分管领导1审核时间 */
	@Column(name = "LEADER1_AUDIT_DT")
	private Date leader1AuditDate;
	
	/** 分管领导1审核人 */
	@Column(name = "LEADER1_AUDITOR")
	private String leader1Auditor;
	
	/** 分管领导2审核 */
	@Column(name = "LEADER2_AUDIT")
	private String leader2Audit;
	
	/** 分管领导2审核状态*/
	@Column(name = "LEADER2_AUDIT_STATE")
	private Boolean leader2AuditState;
	
	/** 分管领导2审核提交状态*/
	@Column(name = "LEADER2_AUDIT_SUBMIT_STATE")
	private Boolean leader2AuditSubmitState;
	
	/** 分管领导2审核时间 */
	@Column(name = "LEADER2_AUDIT_DT")
	private Date leader2AuditDate;
	
	/** 分管领导2审核人 */
	@Column(name = "LEADER2_AUDITOR")
	private String leader2Auditor;
	
	/** 财务审核 */
	@Column(name = "FINANCIAL_AUDIT")
	private String financialAudit;
	
	/** 财务审核状态*/
	@Column(name = "FINANCIAL_AUDIT_STATE")
	private Boolean financialAuditState;
	
	/** 财务审核提交状态*/
	@Column(name = "FINANCIAL_AUDIT_SUBMIT_STATE")
	private Boolean financialAuditSubmitState;
	
	/** 财务审核时间 */
	@Column(name = "FINANCIAL_AUDIT_DT")
	private Date financialAuditDate;
	
	/** 财务审核人*/
	@Column(name = "FINANCIAL_AUDITOR")
	private String financialAuditor;
	
	/** 财务领导审核 */
	@Column(name = "FINANCIAL_LEADER_AUDIT")
	private String financialLeaderAudit;
	
	/** 财务领导审核状态*/
	@Column(name = "FINANCIAL_LEADER_AUDIT_STATE")
	private Boolean financialLeaderAuditState;
	
	/** 财务领导审核状态*/
	@Column(name = "FINANCIAL_LEADER_AUDIT_SUBMIT_STATE")
	private Boolean financialLeaderAuditSubmitState;
	
	/** 财务领导审核时间 */
	@Column(name = "FINANCIAL_LEADER_AUDIT_DT")
	private Date financialLeaderAuditDate;
	
	/** 财务领导审核人*/
	@Column(name = "FINANCIAL_LEADER_AUDITOR")
	private String financialLeaderAuditor;
	
	/** 营运主管审核 */
	@Column(name = "OPERATION_AUDIT")
	private String operationAudit;
	
	/** 营运主管审核状态*/
	@Column(name = "OPERATION_AUDIT_STATE")
	private Boolean operationAuditState;
	
	/** 营运主管审核提交状态*/
	@Column(name = "OPERATION_AUDIT_SUBMIT_STATE")
	private Boolean operationAuditSubmitState;
	
	/** 营运主管审核时间 */
	@Column(name = "OPERATION_AUDIT_DT")
	private Date operationAuditDate;
	
	/** 营运主管审核人 */
	@Column(name = "OPERATION_AUDITOR")
	private String operationAuditor;
	
	/** 业务经办人审核 */
	@Column(name = "BUSINESS_AUDIT")
	private String businessAudit;
	
	/** 业务经办人审核状态*/
	@Column(name = "BUSINESS_AUDIT_STATE")
	private Boolean businessAuditState;
	
	/** 业务经办人审核提交状态*/
	@Column(name = "BUSINESS_AUDIT_SUBMIT_STATE")
	private Boolean businessAuditSubmitState;
	
	/** 业务经办人审核时间 */
	@Column(name = "BUSINESS_AUDIT_DT")
	private Date businessAuditDate;
	
	/** 业务经办人审核人 */
	@Column(name = "BUSINESS_AUDITOR")
	private String businessAuditor;

	/** 审核时间 */
	@Column(name = "AUDIT_DT")
	private Date auditDateTime;
	
	/** 审核1 */
	@Column(name = "AUDIT1")
	private String audit1;
	
	/** 审核状态1 */
	@Column(name = "AUDIT_STATE1")
	private Boolean auditState1;
	
	/** 审核提交状态1 */
	@Column(name = "AUDIT_SUBMIT_STATE1")
	private Boolean auditSubmitState1;
	
	/** 审核时间1 */
	@Column(name = "AUDIT_DT1")
	private Date auditDate1;
	
	/** 审核人1 */
	@Column(name = "AUDITOR1")
	private String auditor1;
	
	/** 审核2 */
	@Column(name = "AUDIT2")
	private String audit2;
	
	/** 审核状态2 */
	@Column(name = "AUDIT_STATE2")
	private Boolean auditState2;
	
	/** 审核提交状态2 */
	@Column(name = "AUDIT_SUBMIT_STATE2")
	private Boolean auditSubmitState2;
	
	/** 审核时间2 */
	@Column(name = "AUDIT_DT2")
	private Date auditDate2;
	
	/** 审核人2 */
	@Column(name = "AUDITOR2")
	private String auditor2;
	
	/** 流程节点ID */
	@Column(name = "FINAL_STATE")
	private Long finalState;

	/** 是否打回 */
	@Column(name = "CALLBACK")
	private Boolean callback;
	
	/** 是否自动通知收货 */
	@Column(name = "AUTO_NOTICE")
	private Boolean autoNotice;
	
	public Boolean getAutoNotice() {
		return autoNotice;
	}

	public void setAutoNotice(Boolean autoNotice) {
		this.autoNotice = autoNotice;
	}

	public Boolean getCallback() {
		return callback;
	}

	public void setCallback(Boolean callback) {
		this.callback = callback;
	}

	public Long getFinalState() {
		return finalState;
	}

	public void setFinalState(Long finalState) {
		this.finalState = finalState;
	}

	public String getLoanNoticeNumber() {
		return loanNoticeNumber;
	}

	public void setLoanNoticeNumber(String loanNoticeNumber) {
		this.loanNoticeNumber = loanNoticeNumber;
	}

	public String getAudit1() {
		return audit1;
	}

	public void setAudit1(String audit1) {
		this.audit1 = audit1;
	}

	public Boolean getAuditState1() {
		return auditState1;
	}

	public void setAuditState1(Boolean auditState1) {
		this.auditState1 = auditState1;
	}

	public Boolean getAuditSubmitState1() {
		return auditSubmitState1;
	}

	public void setAuditSubmitState1(Boolean auditSubmitState1) {
		this.auditSubmitState1 = auditSubmitState1;
	}

	public Date getAuditDate1() {
		return auditDate1;
	}

	public void setAuditDate1(Date auditDate1) {
		this.auditDate1 = auditDate1;
	}

	public String getAuditor1() {
		return auditor1;
	}

	public void setAuditor1(String auditor1) {
		this.auditor1 = auditor1;
	}

	public String getAudit2() {
		return audit2;
	}

	public void setAudit2(String audit2) {
		this.audit2 = audit2;
	}

	public Boolean getAuditState2() {
		return auditState2;
	}

	public void setAuditState2(Boolean auditState2) {
		this.auditState2 = auditState2;
	}

	public Boolean getAuditSubmitState2() {
		return auditSubmitState2;
	}

	public void setAuditSubmitState2(Boolean auditSubmitState2) {
		this.auditSubmitState2 = auditSubmitState2;
	}

	public Date getAuditDate2() {
		return auditDate2;
	}

	public void setAuditDate2(Date auditDate2) {
		this.auditDate2 = auditDate2;
	}

	public String getAuditor2() {
		return auditor2;
	}

	public void setAuditor2(String auditor2) {
		this.auditor2 = auditor2;
	}

	/** 是否有效 0-无效;1-有效 */
	@Column(name = "ENABLED")
	private Boolean enabled;

	/** 创建时间 */
	@Column(name = "CREATE_DT")
	private Date createDateTime;

	/** 更新时间 */
	@Column(name = "UPDATE_DT")
	private Date updateDateTime;
	
	/** 放款审批预警创建时间 */
	@Column(name = "LOAN_AUDIT_CREATE_DT")
	private Date loanAuditCreateTime;

	public Boolean getLeader1AuditSubmitState() {
		return leader1AuditSubmitState;
	}

	public void setLeader1AuditSubmitState(Boolean leader1AuditSubmitState) {
		this.leader1AuditSubmitState = leader1AuditSubmitState;
	}

	public Boolean getLeader2AuditSubmitState() {
		return leader2AuditSubmitState;
	}

	public void setLeader2AuditSubmitState(Boolean leader2AuditSubmitState) {
		this.leader2AuditSubmitState = leader2AuditSubmitState;
	}

	public Boolean getFinancialAuditSubmitState() {
		return financialAuditSubmitState;
	}

	public void setFinancialAuditSubmitState(Boolean financialAuditSubmitState) {
		this.financialAuditSubmitState = financialAuditSubmitState;
	}

	public String getFinancialLeaderAudit() {
		return financialLeaderAudit;
	}

	public void setFinancialLeaderAudit(String financialLeaderAudit) {
		this.financialLeaderAudit = financialLeaderAudit;
	}

	public Boolean getFinancialLeaderAuditState() {
		return financialLeaderAuditState;
	}

	public void setFinancialLeaderAuditState(Boolean financialLeaderAuditState) {
		this.financialLeaderAuditState = financialLeaderAuditState;
	}

	public Boolean getFinancialLeaderAuditSubmitState() {
		return financialLeaderAuditSubmitState;
	}

	public void setFinancialLeaderAuditSubmitState(Boolean financialLeaderAuditSubmitState) {
		this.financialLeaderAuditSubmitState = financialLeaderAuditSubmitState;
	}

	public Date getFinancialLeaderAuditDate() {
		return financialLeaderAuditDate;
	}

	public void setFinancialLeaderAuditDate(Date financialLeaderAuditDate) {
		this.financialLeaderAuditDate = financialLeaderAuditDate;
	}

	public String getFinancialLeaderAuditor() {
		return financialLeaderAuditor;
	}

	public void setFinancialLeaderAuditor(String financialLeaderAuditor) {
		this.financialLeaderAuditor = financialLeaderAuditor;
	}

	public Boolean getOperationAuditSubmitState() {
		return operationAuditSubmitState;
	}

	public void setOperationAuditSubmitState(Boolean operationAuditSubmitState) {
		this.operationAuditSubmitState = operationAuditSubmitState;
	}

	public Boolean getBusinessAuditSubmitState() {
		return businessAuditSubmitState;
	}

	public void setBusinessAuditSubmitState(Boolean businessAuditSubmitState) {
		this.businessAuditSubmitState = businessAuditSubmitState;
	}

	public Date getLoanAuditCreateTime() {
		return loanAuditCreateTime;
	}

	public void setLoanAuditCreateTime(Date loanAuditCreateTime) {
		this.loanAuditCreateTime = loanAuditCreateTime;
	}

	public BigDecimal getLoanAmountAlready() {
		if (loanAmountAlready == null) {
			return BigDecimal.ZERO;
		}
		return loanAmountAlready;
	}

	public void setLoanAmountAlready(BigDecimal loanAmountAlready) {
		this.loanAmountAlready = loanAmountAlready;
	}

	public String getLeader1Auditor() {
		return leader1Auditor;
	}

	public void setLeader1Auditor(String leader1Auditor) {
		this.leader1Auditor = leader1Auditor;
	}

	public String getLeader2Auditor() {
		return leader2Auditor;
	}

	public void setLeader2Auditor(String leader2Auditor) {
		this.leader2Auditor = leader2Auditor;
	}

	public String getFinancialAuditor() {
		return financialAuditor;
	}

	public void setFinancialAuditor(String financialAuditor) {
		this.financialAuditor = financialAuditor;
	}

	public String getOperationAuditor() {
		return operationAuditor;
	}

	public void setOperationAuditor(String operationAuditor) {
		this.operationAuditor = operationAuditor;
	}

	public String getBusinessAuditor() {
		return businessAuditor;
	}

	public void setBusinessAuditor(String businessAuditor) {
		this.businessAuditor = businessAuditor;
	}

	public String getLeader1Audit() {
		return leader1Audit;
	}

	public void setLeader1Audit(String leader1Audit) {
		this.leader1Audit = leader1Audit;
	}

	public Boolean getLeader1AuditState() {
		return leader1AuditState;
	}

	public void setLeader1AuditState(Boolean leader1AuditState) {
		this.leader1AuditState = leader1AuditState;
	}

	public Date getLeader1AuditDate() {
		return leader1AuditDate;
	}

	public void setLeader1AuditDate(Date leader1AuditDate) {
		this.leader1AuditDate = leader1AuditDate;
	}

	public String getLeader2Audit() {
		return leader2Audit;
	}

	public void setLeader2Audit(String leader2Audit) {
		this.leader2Audit = leader2Audit;
	}

	public Boolean getLeader2AuditState() {
		return leader2AuditState;
	}

	public void setLeader2AuditState(Boolean leader2AuditState) {
		this.leader2AuditState = leader2AuditState;
	}

	public Date getLeader2AuditDate() {
		return leader2AuditDate;
	}

	public void setLeader2AuditDate(Date leader2AuditDate) {
		this.leader2AuditDate = leader2AuditDate;
	}

	public String getFinancialAudit() {
		return financialAudit;
	}

	public void setFinancialAudit(String financialAudit) {
		this.financialAudit = financialAudit;
	}

	public Boolean getFinancialAuditState() {
		return financialAuditState;
	}

	public void setFinancialAuditState(Boolean financialAuditState) {
		this.financialAuditState = financialAuditState;
	}

	public Date getFinancialAuditDate() {
		return financialAuditDate;
	}

	public void setFinancialAuditDate(Date financialAuditDate) {
		this.financialAuditDate = financialAuditDate;
	}

	public String getOperationAudit() {
		return operationAudit;
	}

	public void setOperationAudit(String operationAudit) {
		this.operationAudit = operationAudit;
	}

	public Boolean getOperationAuditState() {
		return operationAuditState;
	}

	public void setOperationAuditState(Boolean operationAuditState) {
		this.operationAuditState = operationAuditState;
	}

	public Date getOperationAuditDate() {
		return operationAuditDate;
	}

	public void setOperationAuditDate(Date operationAuditDate) {
		this.operationAuditDate = operationAuditDate;
	}

	public String getBusinessAudit() {
		return businessAudit;
	}

	public void setBusinessAudit(String businessAudit) {
		this.businessAudit = businessAudit;
	}

	public Boolean getBusinessAuditState() {
		return businessAuditState;
	}

	public void setBusinessAuditState(Boolean businessAuditState) {
		this.businessAuditState = businessAuditState;
	}

	public Date getBusinessAuditDate() {
		return businessAuditDate;
	}

	public void setBusinessAuditDate(Date businessAuditDate) {
		this.businessAuditDate = businessAuditDate;
	}

	public String getApplicant() {
		return applicant;
	}

	public void setApplicant(String applicant) {
		this.applicant = applicant;
	}

	public String getApplyDepartment() {
		return applyDepartment;
	}

	public void setApplyDepartment(String applyDepartment) {
		this.applyDepartment = applyDepartment;
	}

	public Date getApplyDate() {
		return applyDate;
	}

	public void setApplyDate(Date applyDate) {
		this.applyDate = applyDate;
	}

	public Long getLoanNoticeId() {
		return loanNoticeId;
	}

	public void setLoanNoticeId(Long loanNoticeId) {
		this.loanNoticeId = loanNoticeId;
	}

	public Long getFinanceId() {
		return financeId;
	}

	public void setFinanceId(Long financeId) {
		this.financeId = financeId;
	}

	public String getFinanceNumber() {
		return financeNumber;
	}

	public void setFinanceNumber(String financeNumber) {
		this.financeNumber = financeNumber;
	}

	public void setLoanMethod(BeneficiaryMethodEnum loanMethod) {
		this.loanMethod = loanMethod;
	}

	public BeneficiaryMethodEnum getLoanMethod() {
		return loanMethod;
	}

	public BigDecimal getLoanAmount() {
		return loanAmount;
	}

	public void setLoanAmount(BigDecimal loanAmount) {
		this.loanAmount = loanAmount;
	}

	public String getLoanBank() {
		return loanBank;
	}

	public void setLoanBank(String loanBank) {
		this.loanBank = loanBank;
	}

	public String getLoanCreditCard() {
		return loanCreditCard;
	}

	public void setLoanCreditCard(String loanCreditCard) {
		this.loanCreditCard = loanCreditCard;
	}

	public String getLoanNumber() {
		return loanNumber;
	}

	public void setLoanNumber(String loanNumber) {
		this.loanNumber = loanNumber;
	}

	public String getBeneficiaryBank() {
		return beneficiaryBank;
	}

	public void setBeneficiaryBank(String beneficiaryBank) {
		this.beneficiaryBank = beneficiaryBank;
	}

	public String getBeneficiaryName() {
		return beneficiaryName;
	}

	public void setBeneficiaryName(String beneficiaryName) {
		this.beneficiaryName = beneficiaryName;
	}

	public String getBeneficiaryCreditCard() {
		return beneficiaryCreditCard;
	}

	public void setBeneficiaryCreditCard(String beneficiaryCreditCard) {
		this.beneficiaryCreditCard = beneficiaryCreditCard;
	}

	public String getFileUuids() {
		return fileUuids;
	}

	public void setFileUuids(String fileUuids) {
		this.fileUuids = fileUuids;
	}

	public Long getEnterpriseId() {
		return enterpriseId;
	}

	public void setEnterpriseId(Long enterpriseId) {
		this.enterpriseId = enterpriseId;
	}

	public String getEnterpriseName() {
		return enterpriseName;
	}

	public void setEnterpriseName(String enterpriseName) {
		this.enterpriseName = enterpriseName;
	}

	public Long getOperatorId() {
		return operatorId;
	}

	public void setOperatorId(Long operatorId) {
		this.operatorId = operatorId;
	}

	public String getOperator() {
		return operator;
	}

	public void setOperator(String operator) {
		this.operator = operator;
	}

	public Boolean getEnabled() {
		return enabled;
	}

	public void setEnabled(Boolean enabled) {
		this.enabled = enabled;
	}

	public Integer getLoanDate() {
		return loanDate;
	}

	public void setLoanDate(Integer loanDate) {
		this.loanDate = loanDate;
	}

	public Date getCreateDateTime() {
		return createDateTime;
	}

	public void setCreateDateTime(Date createDateTime) {
		this.createDateTime = createDateTime;
	}

	public Date getUpdateDateTime() {
		return updateDateTime;
	}

	public void setUpdateDateTime(Date updateDateTime) {
		this.updateDateTime = updateDateTime;
	}

	public ApplicantLoanStateEnum getLoanState() {
		return loanState;
	}

	public void setLoanState(ApplicantLoanStateEnum loanState) {
		this.loanState = loanState;
	}

	public String getAuditRemark() {
		return auditRemark;
	}

	public void setAuditRemark(String auditRemark) {
		this.auditRemark = auditRemark;
	}

	public Long getAuditorId() {
		return auditorId;
	}

	public void setAuditorId(Long auditorId) {
		this.auditorId = auditorId;
	}

	public String getAuditor() {
		return auditor;
	}

	public void setAuditor(String auditor) {
		this.auditor = auditor;
	}

	public Date getAuditDateTime() {
		return auditDateTime;
	}

	public void setAuditDateTime(Date auditDateTime) {
		this.auditDateTime = auditDateTime;
	}

}
